SPB Git
655 B · 11 lines typescript
1import { handler, HttpError } from "@/lib/api";2import { importCsv } from "@/lib/databases/csv";3import { audit } from "@/lib/audit";4/** multipart: file=<csv> */5export const POST = handler(async ({ ws, params, req, user }) => {6  const form = await req.formData(); const file = form.get("file"); if (!(file instanceof File)) throw new HttpError(400, "file missing");7  if (file.size > 20 * 1024 * 1024) throw new HttpError(413, "CSV too large (max 20 MB)");8  const r = await importCsv(ws.id, params.id, await file.text()); await audit(user.id, "database.import", { type: "database", id: params.id }, r);9  return Response.json(r, { status: 201 });10});11
Files · main
Menu

Theme